package com.claimSettlement.service;

import com.claimSettlement.pojo.Warranty;

import java.util.List;

/**
 * 保单Service层
 * 汤英杰
 */
public interface WarrantyService {
    /**
     * 查询所有保单信息
     * @return
     */
    List<Warranty> getWarrantyAll();

    /**
     * 修改保单信息
     * @param warranty 保单对象
     * @return
     */
    int updateWarranty(Warranty warranty);

    /**
     * 修改状态
     * @param warrantyState 保单状态
     * @param warrantyId 保单编号
     * @return
     */
    int updWarrantyState(String warrantyState,String warrantyId);

    /**
     * 添加保单信息
     * @param warranty 保单对象
     * @return
     */
    int addWarranty(Warranty warranty);

    /**
     * 根据保单号查询
     * @param warrantyId 保单号
     * @return
     */
    Warranty getWarrantyOne( String warrantyId);

    /**
     * 模糊查询保单
     * @param warrantyId 保单号
     * @param recognizeeName 被保人
     * @param plateNumber 车牌号
     * @param frameId 车架号
     * @return
     */
    List<Warranty> getWarrantyId(String warrantyId, String recognizeeName, String plateNumber, String frameId);

    /**
     * 查询最新的一条保单编号
     * @return
     */
    String getWarrantyNow();

    /**
     * 根据保单编号查询该编号所投的险别编号
     * @param warrantyId 保单编号
     * @return
     */
    List<Integer> selectRisk( String warrantyId);

    /**
     * 添加投保险别表
     * @param warrantyId 保单编号
     * @param riskTypeId 险别编号
     * @return
     */
    int insertInsure( String warrantyId, int riskTypeId);

    /**
     * 修改保单信息总额
     * @param premiumTotal 总额
     * @param warrantyId 保单编号
     * @return
     */
    int updatePremiumTotal( double premiumTotal, String warrantyId);

    /**
     * 根据报案编号查询车牌号
     * @param caseId 报案编号
     * @return 车牌号集合
     */
    List<String> getCaseChepai(String caseId);

    /**
     * 根据被保人编号和车牌号查询保单记录数
     * @param recognizeeId 被保人编号
     * @param plateNumber  车牌号
     * @return
     */
    int getWarrantyCount(String recognizeeId,String plateNumber);
    /**
     * 查询所有已经超过七天的保单信息
     * @return
     */
    List<Warranty> getWarrantyAll2();
}
